package com.ruoyi.psi.inventory.transfer.service;

import com.ruoyi.psi.inventory.transfer.domain.InventoryTransfer;
import com.ruoyi.psi.inventory.transfer.domain.InventoryTransferList;

import java.util.List;

/**
 * 产品库存调拨
 * 业务层
 */
public interface IInventoryTransferService {



    /**
     * 仓库调拨查询
     * @param inventoryTransfer
     * @return
     */
    public List<InventoryTransfer> selectInventoryTransferList(InventoryTransfer inventoryTransfer);

    /**
     * 按编号查询
     * @param inventoryTransferId 仓库调拨编号
     * @return
     */
    public InventoryTransfer selectInventoryTransferById(String inventoryTransferId);
    /**
     * 仓库调拨新增
     * @param inventoryTransfer
     * @return
     */
    public int insertInventoryTransfer(InventoryTransfer inventoryTransfer) throws Exception;

    /**
     * 仓库调拨更新
     * @param inventoryTransfer
     * @return
     */
    public int updateInventoryTransfer(InventoryTransfer inventoryTransfer) throws Exception;

    /**
     * 更新仓库调拨删除标志位
     * @param inventoryTransfer
     * @return
     */
    public int updateInventoryTransferDeleteFlag(InventoryTransfer inventoryTransfer);

    /**
     * 仓库调拨详细查询
     * @param inventoryTransferList
     * @return
     */
    public List<InventoryTransferList> selectInventoryTransferListList(InventoryTransferList inventoryTransferList);

    /**
     * 查询仓库调拨对应的所有产品详细
     * @param inventoryTransferId 仓库调拨编号
     * @return
     */
    public List<InventoryTransferList> selectInventoryTransferListListById(String inventoryTransferId);

    /**
     * 查询仓库调拨对应的指定产品详细
     * @param inventoryTransferId
     * @return
     */
    public InventoryTransferList  selectInventoryTransferListById(String inventoryTransferId, String produceId);


}
